/**
 * 
 */
package com.hungdev.utils;

import android.util.Log;

/**
 * @author giacatlaoboi
 * 
 */
public class Logger {

	private final static String LOG_TAG = "com.hungdev.trangxanh";

	/**
	 * Generate message debugger
	 * 
	 * @param msg
	 * @return
	 */
	private static String message(String msg) {

		try {
			String fullClassName = Thread.currentThread().getStackTrace()[5]
					.getClassName();
			String className = fullClassName.substring(fullClassName
					.lastIndexOf(".") + 1);
			String methodName = Thread.currentThread().getStackTrace()[5]
					.getMethodName();
			int lineNumber = Thread.currentThread().getStackTrace()[5]
					.getLineNumber();
			return "ClassName:" + className + " Method:" + methodName
					+ " Line:" + lineNumber + " Message:" + msg;
		} catch (Exception e) {
			// TODO: handle exception
		}

		return "";

	}
	
	/**
	 * Log debug
	 * 
	 * @param msg
	 */
	public static void debug(String msg) {
		Log.d(LOG_TAG, message(msg));
	}

	/**
	 * Log info
	 * 
	 * @param msg
	 */
	public static void info(String msg) {
		Log.i(LOG_TAG, message(msg));
	}

	/**
	 * Log error
	 * 
	 * @param msg
	 */
	public static void error(String msg) {
		Log.e(LOG_TAG, message(msg));
	}

	/**
	 * Log warn
	 * 
	 * @param msg
	 */
	public static void warn(String msg) {
		Log.w(LOG_TAG, message(msg));
	}

	/**
	 * Log verbose
	 * 
	 * @param msg
	 */
	public static void verbose(String msg) {
		Log.v(LOG_TAG, message(msg));
	}
}
